"""
列表的常用操作方法
"""
mylist = ['Nancy','Daddy','Tom']

# 1.1查找某元素在列表中的下标索引
index = mylist.index("Tom")
print(f"Tom在列表中的下标索引值是：{index}")
# 1.2查找的元素不存在， ValueError: 'Rose' is not in list
# index = mylist.index("Rose")
# print(f"Rose在列表中的下标索引值是：{index}")

# 2.修改特定下标的元素值
mylist[1] = 10
mylist[-1] = '99'  # 反向下标
print(f"修改指定下标元素值的结果是：{mylist}")

# 3.在指定下标插入指定元素
mylist.insert(0,'Lily')
print(f"插入元素后的结果是：{mylist}")
mylist.insert(6,6)
print(f"在不连贯位置插入指定元素后的结果是：{mylist}")  # 只会追加到尾部

# 4.在列表尾部追加单个元素
mylist.append(True)
print(f"在列表尾部追加单个元素后的结果是：{mylist}")

# 5.在列表尾部追加一批元素
mylist2 = [4,5,6]
mylist.extend(mylist2)
print(f"在列表尾部追加一批元素后的结果是：{mylist}")

# 6.删除指定下标的元素（2种方式）
mylist = ['Nancy','Daddy','Tom',1,2,3]
# 6.1 方式一：del 列表[下标]
del mylist[2]
print(f"使用del 列表[下标]方式删除列表元素后的结果是：{mylist}")  # ['Nancy', 'Daddy', 1, 2, 3]
# 6.2 方式二：列表.pop(下标)
element = mylist.pop(1)
print(f"使用列表.pop(下标)方式删除列表元素后的结果是：{mylist},取出的元素是：{element}")  # ['Nancy', 1, 2, 3]

# 7.删除某个元素在列表中的第一个匹配项
mylist = [1,2,3,1,2,3,1]
mylist.remove(1)
print(f"删除某个元素在列表中的第一个匹配项的结果是：{mylist}")

# 8.清空列表
mylist = [1,2,3]
mylist.clear()
print(f"列表被清空后的结果是：{mylist}")

# 9.统计列表内某元素的数量
mylist = [1,2,2,3,4,2,7,3]
count = mylist.count(2)
print(f"列表中2的个数是：{count}")

# 10.统计列表中全部元素的数量
mylist = [1,2,3,4]
count = len(mylist)
print(f"列表中全部元素的数量是：{count}")

# 练习案例
prc_list = [21,25,21,23,22,20]
prc_list.append(31)
print(prc_list)
new_list = [29,33,30]
prc_list.extend(new_list)
print(prc_list)
one_num = prc_list.pop(0)
print(one_num)
last_num=prc_list.pop(-1)
print(last_num)
index = prc_list.index(31)
print(index)


